//
//  ViewController.m
//  03-UIResponder
//
//  Created by dllo on 16/7/18.
//  Copyright © 2016年 dllo. All rights reserved.
//

#import "ViewController.h"
#import "TouchView.h"
@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    // 练习 1:
    TouchView *touchView = [[TouchView alloc] initWithFrame:CGRectMake(10, 10, 355, 200)];
    touchView.backgroundColor = [UIColor yellowColor];
    [self.view addSubview:touchView];
   // 1. 响应者链
   // 检测顺序 ：硬件 －> Appdelegate -> UIApplication -> UIWindow -> UIViewController -> self.view -> TouchView
   // 响应顺序 ： TouchView -> self.view -> UIviewController -> UIWindow -> UIApplication -> AppDelegate ->  null
   // 如果所有的响应者都无法响应该事件， 则这个事件会被舍弃
   // 两种检测响应着的方法
   // 1.Category 实现 touchBegin的方法
   // 2.nextResponder
    
   // 例：
   // 1.响应者不要出边界， 出边界的响应者无法响应
   // 判断当前的点在谁的范围内 pointInside: withEvent:
   BOOL isInside = [touchView pointInside:CGPointMake(10, 10) withEvent:nil];
    NSLog(@"%@", isInside ? @"YES" : @"NO");
    UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
    button.frame = CGRectMake(10, 10, 200, 50);
    button.backgroundColor = [UIColor greenColor];
    [touchView addSubview:button];
    [button addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
   // 2.button 的点击方法如何实现
   // button 点击效果， 通过UIResponder对应得方法实现
   // 3.pointInside重写， 实现响应能力（retrurn NO）
}
- (void)buttonClicked:(UIButton *)button {
    NSLog(@"%@", button);
}
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
    
    NSLog(@"%@-------%s", [self class], __FUNCTION__);
}


- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end
